import redis

# 将特征值模型文件数据存入 redis 数据库，将用户历史下载数据存入 redis,将 app 基本描述商品词表存入 redis 数据库
pool = redis.ConnectionPool(host='192.168.206.129', port='6379', db=2)
r = redis.Redis(connection_pool=pool)

# 处理 ModelFile.txt 文件，假设与 py_15_redis.py 同目录，若不是需改路径，如 './redis/ModelFile.txt'
with open('ModelFile.txt', "rb") as f:
    while True:
        lines = f.readlines(100)
        if not lines:
            break
        for line in lines:
            kv = line.decode("utf-8").split('\t')
            r.hset("rcmd_features_score", kv[0], kv[1])

# 处理 UserItemsHistory.txt 文件，路径规则同上
with open('UserItemsHistory.txt', "rb") as f:
    while True:
        lines = f.readlines(100)
        if not lines:
            break
        for line in lines:
            kv = line.decode("utf-8").split('\t')
            r.hset('rcmd_user_history', kv[0], kv[1])

# 处理 ItemList.txt 文件，路径规则同上
with open('ItemList.txt', "rb") as f:
    while True:
        lines = f.readlines(100)
        if not lines:
            break
        for line in lines:
            kv = line.decode("utf-8").split('\t')
            # line[:-2] 取 line 字符串的开头到倒数第二个的位置 数据，含头不含尾，也就是-2 就是将 s 字符串中倒数后两个字符删除，常用在从文本读入数据的时候消除换行符的影响
            r.hset('rcmd_item_list', kv[0], line[:-2])

print('all finished...')